extends PanelContainer

const 属性容器场景 = preload("res://属性/属性容器.tscn")

@onready var 数量信息 = %"数量信息"
@onready var 物品图像 = %"物品图像"
@onready var 物品名 = %"物品名"
@onready var 数量 = %"数量"
@onready var 属性容器左 = %"属性容器左"
@onready var 属性容器右 = %"属性容器右"

var 卡牌堆数据:卡牌堆数据类

func _ready():
	数量信息.hide()

func 显示卡牌堆(_卡牌堆数据:卡牌堆数据类):
	卡牌堆数据=_卡牌堆数据
	if 卡牌堆数据!=null and !卡牌堆数据.is_empty():
		物品图像.texture=卡牌堆数据.数据.front().卡牌图
		物品名.text=卡牌堆数据.数据.front().卡牌名
		显示卡牌数量()
		显示属性()
		
func 显示卡牌数量():
	var 卡牌数量=卡牌堆数据.数据.size()
	if 卡牌数量>1:
		数量.text="X"+str(卡牌数量)
		数量信息.show()
	else:
		数量信息.hide()	

func 显示属性():
	for 属性 in 属性容器左.get_children():
		属性容器左.remove_child(属性)
		属性.queue_free()

	for 属性 in 属性容器右.get_children():
		属性容器右.remove_child(属性)
		属性.queue_free()
			
	var 属性列表=卡牌堆数据.数据.front().属性列表
	var 序号:int=0
	for 属性名 in 属性列表:
		var 属性数据=属性列表[属性名]
		var 属性=属性容器场景.instantiate()
		if 序号%2==0:
			属性容器左.add_child(属性)
		else:
			属性容器右.add_child(属性)
		属性.属性数据=属性数据
		序号+=1
